Multicast is a bandwidth efficient technique for transmission of a source signal from a transmitter to a plurality of receivers in a communications system. In general, an encoder is included in a transmitter, and a decoder is included in a receiver. As well known, the purpose of encoding a signal is to achieve a compact representation of the signal. In general, such encoding is carried out according to one or more of two basic coding principles, namely redundancy removal, that is exploiting signal properties that are predictable, e.g., the correlation between pixels in an image (spatial redundancy), the correlation between pixels in adjacent video signal frames (temporal redundancy), etc., and irrelevancy removal, that is exploiting the indifference of a receiver to certain variations in the signal representation, e.g., the indifference of a viewer to small quantization errors in a video signal.
The efficiency of multicast is mainly due to the fact that the encoding of the source signal needs to be transmitted only once over any link in the communications system. However, the bandwidth efficiency comes with the disadvantage that all receivers in the communications system are constrained to use the same encoding of the source signal. Thus, every receiver perceives the same signal quality, which is determined by the bit-rate of the encoding, regardless of their respective capacity to receive signals. In general, each receiver may have a different capacity to receive signals compared to the other receivers in the communications system.
In general, coding systems need to take into account the reliability of the communications system in which they operate. In a communications system, there is generally a certain probability of non-ideal transmission of signals, for example distorting the encoded signal or transmitting only parts of the encoded signal. Furthermore, demands on the coding systems may change rapidly due to variations in the load on the communications system, inaccurate estimations of the capacity of receivers to receive signals, receivers joining and leaving the transmission session, etc.
Advantageously, an encoder should therefore be able to quickly adapt to changes in the estimated conditions of the communications system and account for uncertainty of the estimated conditions. Conventional methods for choosing the bit-rate of the encoding are based on iterative procedures having high computational complexity, see, e.g., Y. R. Yang, M. S. Kim, and S. S. Lam, “Optimal partitioning of multicast receivers”, Int. Conf. on Network Protocols, pp. 129-140, November 2000, H. Yousefi'zadeh, H. Jafarkhani, and A. Habibi, “Layered media multicast control (LMMC): Rate allocation and partitioning”, IEEE/ACM transactions on Networking, vol. 13, pp. 540-553, 2005, and J. Liu, B. Li, and Y.-Q. Zhang, “Optimal stream replication for video multicasting”, IEEE Transactions on Multimedia, vol. 8, pp. 162-169, 2006. Such conventional methods are particularly inefficient when the number of decodable subsets of the streams is large.
Thus, there is a need within the art for a multicast bit-rate optimization method such that the performance of the overall encoding and decoding system in a communications system is improved, which method efficiently allows for a large number of decodable subsets of streams, as well as providing an improved adaptivity to varying conditions in the communications system and taking into account the uncertainty that is inherent in estimations of such conditions.